Reverse Linked List
Leetcode #206 | Easy | Связный список | Два указателя
Идея
Указатель prev=null, cur, потом в цикле берем next и переставляем стрелочку. Важно: одна итерация - меняем только prev->cur на prev<-cur, к next не лезем
Big-O
- Время
O(N) - Память
O(1)
Код
class Solution {
public ListNode reverseList(ListNode head) {
ListNode prev = null, cur = head;
while (cur != null) {
ListNode next = cur.next;
cur.next = prev;
prev = cur;
cur = next;
}
return prev;
}
}